package com.nfit.shopweb.service;

import com.github.pagehelper.PageInfo;
import com.nfit.shopmodel.dto.product.CategoryBrandDto;
import com.nfit.shopmodel.entity.product.Brand;
import com.nfit.shopmodel.entity.product.CategoryBrand;

import java.util.List;
/**
 * ClassName:BrandService
 * Package:com.nfit.shopweb.service
 * Description
 *
 * @Author L
 * @Create 2024/12/11 19:06
 */
public interface BrandService {
    /**
     * 查询所有列
     * @return
     */
    PageInfo<List<Brand>> selectAll(Integer pageNum, Integer pageSize);

    /**
     * 添加
     */
    void save(Brand brand);

    void update(Brand brand);

    void delete(Long id);

    /**
     * 查询品牌 所对应的商品分类
     */
    PageInfo<List<CategoryBrand>> selectCategoryBrand(Integer pageNum, Integer pageSize, CategoryBrandDto categoryBrandDto);

    /**
     *
     * 删除分类品牌
     * @param id 分类品牌id
     */
    void deleteCategoryBrand(Long id);

    /**
     * 查询所有的品牌数据
     */
    List<Brand> list();

    /**
     * 添加分类品牌
     */
    void saveCategoryBrand(CategoryBrand CategoryBrand);

    /**
     * 修改分类品牌
     */
    void updateCategoryBrand(CategoryBrand categoryBrand);

    /**
     * 根据三级商品分类id查询对应商品分类下对应的品牌数据
     * @param category3Id 三级商品分类id
     */
    List<Brand> findByCategory3Id(Long category3Id);
}
